package com.siwei.mes.mapper.laboratory;

import com.siwei.mes.common.dataSource.DataSource;
import com.siwei.mes.common.dataSource.DataSourceNames;
import com.siwei.mes.entity.laboratory.ContractData;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 协会工程 （Contract_Info）
 *
 * @Description: 协会工程 （Contract_Info）
 * @Version: 1.0
 * @author: mlchen
 * @date: 2024/7/26 11:30
 */
public interface ContractInfoMapper {
    /**
     * 新增协会工程
     *
     * @param contractData
     */
    @DataSource(DataSourceNames.LABORATORY)
    void insert(ContractData contractData);

    /**
     * 修改协会工程不为null修改
     *
     * @param contractData
     */
    @DataSource(DataSourceNames.LABORATORY)
    void updateByPrimaryKeySelective(ContractData contractData);

    /**
     * 修改协会工程为null修改
     *
     * @param contractData
     */
    @DataSource(DataSourceNames.LABORATORY)
    void updateByPrimaryKey(ContractData contractData);

    //查询工程信息
    @DataSource(DataSourceNames.LABORATORY)
    Map<String, Object> selectContractData(@Param("contractId") String contractId);

    /**
     * 根据客户协会id和合同编号和工程名称
     *
     * @param erpCustomerLaboratoryId 客户协会id
     * @param contractNo              合同编号
     * @param projectName             工程名称
     * @return
     */
    @DataSource(DataSourceNames.LABORATORY)
    ContractData selectIsExist(@Param("erpCustomerLaboratoryId") String erpCustomerLaboratoryId,
                               @Param("contractNo") String contractNo, @Param("projectName") String projectName);

    /**
     * 获取所有合同信息
     *
     * @return
     */
    @DataSource(DataSourceNames.LABORATORY)
    List<ContractData> getAll();
}
